namespace ext
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// A simple utility class for generically masking elements while loading data. If the {@link #store}
	/// config option is specified, the masking will be automatically synchronized with the store&apos;s loading
	/// process and the mask element will be cached for reuse. For all other elements, this mask will replace the
	/// element&apos;s Updater load indicator and will be destroyed after the initial load.
	/// Example usage:  
	/// // Basic mask:
	/// var myMask = new Ext.LoadMask(Ext.getBody(), {msg:&quot;Please wait...&quot;});
	/// myMask.show();
	/// </summary>
	/// <htmlSummary>
	/// A simple utility class for generically masking elements while loading data. If the {@link #store}
	/// config option is specified, the masking will be automatically synchronized with the store&apos;s loading
	/// process and the mask element will be cached for reuse. For all other elements, this mask will replace the
	/// element&apos;s Updater load indicator and will be destroyed after the initial load.
	/// &lt;p&gt;Example usage:&lt;/p&gt;
	/// &lt;pre&gt;&lt;code&gt;
	/// // Basic mask:
	/// var myMask = new Ext.LoadMask(Ext.getBody(), {msg:&quot;Please wait...&quot;});
	/// myMask.show();
	/// &lt;/code&gt;&lt;/pre&gt;
	/// </htmlSummary>
	/// <definedin>src\widgets\LoadMask.js</definedin>
	[ScriptName("LoadMask")]
	[ScriptNamespace("Ext")]
	[Imported()]
	public partial class LoadMask
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		/// <param name="el">The element or DOM node, or its id</param>
		/// <param name="config">The config object</param>
		public LoadMask(object el, ext.LoadMask_Configuration config)
		{
		}
		
		/// <summary>Constructor</summary>
		public LoadMask()
		{
		}
		#endregion
		
		#region Fields
		/// <summary>
		/// Optional Store to which the mask is bound. The mask is displayed when a load request is issued, and
		/// hidden on either load sucess, or load fail.
		/// </summary>
		/// <definedin>src\widgets\LoadMask.js</definedin>
		[ScriptName("store")]
		public ext.data.Store Store;
		
		/// <summary>
		/// True to create a single-use mask that is automatically destroyed after loading (useful for page loads),
		/// False to persist the mask element reference for multiple uses (e.g., for paged data widgets). Defaults to false.
		/// </summary>
		/// <definedin>src\widgets\LoadMask.js</definedin>
		[ScriptName("removeMask")]
		public bool RemoveMask;
		
		/// <summary>The text to display in a centered loading message box (defaults to &apos;Loading...&apos;)</summary>
		/// <definedin>src\widgets\LoadMask.js</definedin>
		[ScriptName("msg")]
		public string Msg;
		
		/// <summary>The CSS class to apply to the loading message element (defaults to &quot;x-mask-loading&quot;)</summary>
		/// <definedin>src\widgets\LoadMask.js</definedin>
		[ScriptName("msgCls")]
		public string MsgCls;
		#endregion
		
		#region Properties
		/// <summary>Read-only. True if the mask is currently disabled so that it will not be displayed (defaults to false)</summary>
		/// <definedin>src\widgets\LoadMask.js</definedin>
		[ScriptName("disabled")]
		[IntrinsicProperty()]
		public bool Disabled
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
		}
		#endregion
		
		#region Methods
		/// <summary>Disables the mask to prevent it from being displayed</summary>
		/// <definedin>src\widgets\LoadMask.js</definedin>
		[ScriptName("disable")]
		public void Disable()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Enables the mask so that it can be displayed</summary>
		/// <definedin>src\widgets\LoadMask.js</definedin>
		[ScriptName("enable")]
		public void Enable()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Show this LoadMask over the configured Element.</summary>
		/// <definedin>src\widgets\LoadMask.js</definedin>
		[ScriptName("show")]
		public void Show()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Hide this LoadMask.</summary>
		/// <definedin>src\widgets\LoadMask.js</definedin>
		[ScriptName("hide")]
		public void Hide()
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
	}
}
